

////#include "test_mode.h"
/////----对应上行协议调试命令---FCH,FDH，这两条指令是非 protobuf协议-----------------------
////7.1.13平台向集中器下发调试数据 FCH
////7.1.14集中器向平台上报调试数据 FDH

#ifndef __TEST_MODE_H__
#define __TEST_MODE_H__

#include <stdint.h>

#include "mconfig.h"
#include "proto_plat.h"

typedef enum{
    lv0 = 0,            //任何情况下都输出
    lv1,                //小于设定的log_lv才输出
    lv2,
    lv3,                
    
    lv_max,
}log_lv_e;

typedef enum{
    op_src_none,
    op_src_dbg,
    op_src_init,
    op_src_plat,

    op_src_max,
}op_src_e;

extern const char* op_src_str[op_src_max];


extern uint8_t runYmodem;


log_lv_e log_lv_get(void);

void log_lv_set(log_lv_e lv);

void test_mode_app(char *cmd, uint16_t cmd_len, tlv_t* pf_tx, chan_e src);

void printf_log(log_lv_e lv, const char* format, ...);

void printf_hex(log_lv_e lv, uint8_t* buf, uint16_t len, uint8_t line_feed);




uint8_t plat_dbg_get(void);

void plat_dbg_set(uint8_t dbg);


#endif       /////__TEST_MODE_H__

